<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class M_Turno extends Modelo {

    public $id = null;
    public $matricula;
    public $motivoConsulta;
    public $fecha;
    public $usuarioId;
    public $asistio;

    function __construct() {
        parent::__construct();
        $this->tabla = 'citas';
    }

    function setAttributes($datos = array(), $tipo = 'object') {
        return parent::_setAttributes(__CLASS__, $datos, $tipo);
    }

    function doArray() {
        return parent::_doArray(__CLASS__);
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function getValidacion() {
        $valid = array(
            array('field' => 'matricula', 'label' => 'Matricula', 'rules' => 'trim|required'),
            array('field' => 'motivoConsulta', 'label' => 'Motivo', 'rules' => 'trim'),
            array('field' => 'fecha', 'label' => 'Fecha', 'rules' => 'trim|required'),
            array('field' => 'hora', 'label' => 'Hora', 'rules' => 'trim|required'),
        );
        return $valid;
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function valoresPorDefecto() {
        return array(
            'matricula' => '',
            'motivoConsulta' => '',
            'fecha' => date('d/m/Y', strtotime('+1 day')),
            'hora' => '09:00:00',
            'usuarioId' => '',
            'asistio' => 0,
        );
    }

    /**
     * Devuelve el ultimo estado de una causa
     */
    function getProximasCitas() {
        $this->db->select($this->tabla . '.*, medicos.nombre');
        $this->db->from($this->tabla);
        $this->db->join('medicos', $this->tabla . '.matricula = medicos.matricula', 'left');
        $this->db->where($this->tabla . '.fecha >=curdate()');
        $this->db->where($this->tabla . '.asistio', 0);
        $this->db->order_by($this->tabla . '.fecha', 'DESC');
        $results = $this->db->get();
        return $results->result_object();
    }

}